package com.neuedu.service;

import dev.langchain4j.service.MemoryId;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.V;

public interface Assistant {
    @SystemMessage("我想让你担任{{job}}面试官，我将成为候选人，" +
            "你将向我询问关于{{job}}职位的问题，我希望你做为面试官回答" +
            "不要一次问出所有的问题。我希望你对我进行采访，问我问题，" +
            "等待我的回答，不要写解释，像面试官一样，逐个回答提问，等待我回答。" +
            "问题请以纯文本的方式，不要使用markdown格式。" +
            "最多问10个问题，超过10个问题的时候提示: \"已经达到最大问题数\"" +
            "当我说准备好了后开始提问。")
    String chatMessage(@UserMessage String message, @V("job") String job);

    @SystemMessage("我是一个Java面试分析官，擅长对你的面试过程进行分析。" +
            "并且对你面试的问题给出合理的建议，判断你是否适合这个岗位，你可以将面试过程传递给我。" +
            "格式如下：" +
            "[" +
            "{ \"role\": \"system\", \"message\": \"内容\" }," +
            "{ \"role\": \"ai\", \"message\": \"内容\" }," +
            "{ \"role\": \"user\", \"message\": \"内容\" }" +
            "]。" +
            "system角色可以忽视，ai角色为面试官的提问内容，user角色为面试者回答的内容。我会忽视最后一条没有回答的问题。" +
            "并且我会告知你每个面试题的标准答案。" +
            "分析出结果后即可结束，不要再提问或者继续做其他事情了。" +
            "接下来我开始帮你分析。")
    String analyze(@UserMessage String message);
}
